Method for associating multiple functionalitis with mouse buttons

ABSTRACT

The present invention is method for simultaneously associating different functionalities with different mouse buttons. The method of the present invention also provides an enhanced toolbar ( 60 ) that displays the mouse key ( 84, 85, 86 ) associated with a particular tool ( 63 ) and permits the user to change the tool designation of a mouse key ( 84, 85, 86 ) by dragging and dropping the tool identifier ( 61, 62 ) on another tool ( 63 ) in the toolbar ( 60 ), or in another toolbar ( 60 ).

BACKGROUND OF THE INVENTION

[0001] The present invention relates to computers and peripheral equipment for computers. More specifically, it relates to a method for associating multiple functionalities with mouse buttons.

[0002] The toolbar that is used in many familiar software applications is really a directory of tools that are used to perform specific operations for those applications. In order to use, or apply the tool, the user must select the tool from the tool bar and then apply it using the left mouse button. Basically, the tools fall into two general categories, “state” tools and “action” tools. State tools retain their state once they are selected. For example, the “line” tool in the drawing toolbox remains selected for repeat use. Action tools perform one operation and do not retain their state. An example of a typical action tool is the flip and rotate tool that is available in most drawing software toolbars.

BRIEF SUMMARY OF THE INVENTION

[0003] Generally, the user must select a state tool from the toolbar. Normally, the user is only permitted to select one tool from the tool bar using the left mouse button. In other words, it is not possible to associate more than one functionality with the mouse buttons at a time. It is also not currently possible to change the tool functionality associated with left mouse button when the application is launched.

[0004] Many operations require extensive use of a mouse. Frequently, use of a mouse is necessary so that the user can pick from all of the functions that the program has to offer. Unfortunately, despite the breadth of functions most programs offer, few people use more than a few functions. Frequently, those people are frustrated that they have to repeatedly use the mouse to select between a very few functions. For example, two common functions used while drawing are the line function and the arc function. What is needed is a simple way to provide those functions at a person's fingertips.

[0005] A method for easily changing the functions associated with the mouse keys is also required. Frequently, as one enters different stages of a project, different keys become more important. For example, while in the drawing stages, the line and arc commands may be most important. In the editing stage, erasing and coloring functions may be most important.

[0006] Therefore, there is a need to associate two different functionalities with two different mouse buttons at one time. There is also a need to limit the amount of user inputs required to configure the different functionalities. The method of the present invention associates two mouse buttons with two different functionalities and provides a method of reconfiguring the functionality that requires just one mouse click. The method of the present invention also provides a visual indicator on the toolbar of the configuration of the mouse buttons.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a flow diagram describing the user interaction of the method of the present invention.

[0008]FIG. 2 is a flow diagram describing the method of the present invention as a user would employ the left mouse key.

[0009]FIG. 3 is a flow diagram describing the method of the present invention as a user would employ the middle mouse key.

[0010]FIG. 4 is a flow diagram describing the user interaction with the method of the present invention when the function of the left mouse key is changed.

[0011]FIG. 5 is a flow diagram describing the user interaction with the method of the present invention when the function of the middle mouse key is changed.

[0012]FIG. 6 is an example of a tool bar used in the method of the present invention that supports default left and middle mouse configuration. FIG. 7 is a schematic of the static design of the present invention.

[0013]FIG. 8 is a schematic of the static design of the computer, display, database and controller.

DETAILED DESCRIPTION OF THE INVENTION

[0014] The method of the present invention uses the drag and drop mechanism of the typical computer mouse to associate two different functionalities with two different mouse buttons. Specifically the present invention assigns each tool on the toolbar with a unique identifier, such as an integer that identifies the tool in the database. Similarly, the left and middle mouse buttons will also be assigned unique identifiers that are mapped to them in the database.

[0015] As shown in FIG. 1 and by way of example, when a user launches an application 11 from the start menu 10 and brings up a tool bar, the system retrieves the configured left mouse identifier 12 from the database associated with the particular program and displays the label “L” above the tool on the toolbar 13. Similarly, the system retrieves the configured middle mouse tool identifier 14 and displays the label “M” above the tool on the toolbar 15 and the method of the present invention ends 16.

[0016] As shown in FIG. 2 and in FIG. 3, the user starts 21 the process of changing tool functionality by depressing the left or middle mouse key on the display 22, 32. The database then identifies whether a tool 23 has been selected and issues an error warning 24, 34 if no tool was selected or permits the user to drag the L or the M located above the toolbar 25, 35. The user then drags the label using the left mouse key and to drops the label L or M onto a tool of the user's selection. The database then updates the screen and displays an L or an M over the appropriate tool and makes the correct association within the program. The method of the present invention then ends 26. A sample toolbar 60 having a plurality of tools 64 that supports the left 61 and middle 62 mouse configuration of the present invention is shown in FIG. 6.

[0017] The user may also drag the left mouse key on the displayed view area. In this case the viewport would identify the function associated with the left mouse key from the database and apply the tool. For example, if the selected tool is zoom in, the image would be magnified base on the amount of the mouse drag. The same procedure works for the tool that has been assigned to the middle mouse key. A convenient counterfunction would be to associate the middle mouse key with the zoom out function. Then if the operator zoomed in too far, the operator could simply depress the middle mouse key to zoom out.

[0018] The user may also wish to redesignate the functionality associated with one of the mouse keys. The procedure for changing the association of one of the keys is shown in FIG. 4 and FIG. 5. First, the user starts 41 by selecting the “L” or “M” and dragging the “L” or “M” on the tool bar to another tool 42, 52. The system will then check the database to see if the tool on which the label was dropped is an action tool 43. If the tool selected is an action tool, the system will display an error message 44. If not, the database will be checked to see if the tool has already been designated by the label “M” or “L” 45,55. If it has, the “M” will be replaced by an “L” or the opposite 46, 56. If the tool is a state tool and does not have the label “M” displayed above it, the label “L” is removed from the current location and moved to the top of the new tool 47, 57. Lastly, the database is updated 48 with the new values of the left and middle mouse tool and the method ends 49. The same procedure is followed if the user wishes to change the functionality associated with the middle mouse key “M”.

[0019]FIG. 7 is schematic showing the static design of the present invention. The Tool Controller 71 handles all mouse events. Basically, it translates mouse events, such as clicking a mouse button, to the functionality the mouse button is associated with. The Tool Palette 72 is simply the container for all of the tools. The Draglabel 76 represents the label displayed above the configured left and middle mouse tool on the toolbar. The Picture Checkbox 78 represents the class of state tools. The Action Tool 77 represents the class of action tools.

[0020]FIG. 8 is a schematic showing the interaction of the computer 81, the display 87 to viewer and the database 82. The database 82 contains an “L” 61 and an “M” 62 identifier that corresponds to the symbols on the display screen 87 as well as identifiers 87 for each tool 63. The mouse, or controller 83 is also depicted in FIG. 7 having three buttons, or keys, 84, 85, 86.

[0021] Obviously, the method of the present invention does not require the specific use of a mouse. As is generally known in the are, there are all manner of controllers on laptops and for use with desktops that could be used with the present invention. The examples provided using a mouse are intended to illustrate the invention and not to limit the invention.

[0022] Accordingly, a new device that permits to user to assign two different functionalities with two different mouse buttons at the same time. The device of the present invention further provides a method for configuring a toolbar such that only one input is required to change the functionality associated with a mouse key.

[0023] Although we have very specifically described the preferred embodiments of the invention herein, it is to be understood that changes can be made to the improvements disclosed without departing from the scope of the invention. Therefore, it is to be understood that the scope of the invention is not to be overly limited by the specification and the drawings, but is to be determined by the broadest possible interpretation of the claims.

Parts List

[0024]10 Start

[0025]11 User launches system

[0026]12 System determines the configured left mouse tool by retrieving the left mouse tool identifier from the database

[0027]13 System displays “L” above the tool on the toolbar. The tool is displayed as depressed

[0028]14 System determines the configured mouse tool by retrieving the middle mouse tool identifier from the database

[0029]15 System displays “M” above the tool on the toolbar

[0030]16 End

[0031]21 Star

[0032]22 User depresses left mouse key on display area

[0033]23 Has a tool been selected by user?

[0034]24 Apply the tool that has the label “L” on top of it to the image

[0035]25 Apply the selected tool to the image

[0036]26 End

[0037]32 User depresses middle mouse key on display area

[0038]34 Apply the tool that has the label “M” displayed on top of it to the image

[0039]41 Start

[0040]42 User drags “L” displayed on tool bar and drops it on another tool

[0041]43 Is the selected tool a state tool?

[0042]44 Error message - Invalid selection

[0043]45 Is tool already assigned to M?

[0044]46 M and L are interchanged. Database updated.

[0045]47 L is removed from prior tool and put on new tool

[0046]48 Database updated

[0047]49 End

[0048]52 User drags “M” displayed on tool bar and drops it on another tool

[0049]55 Is tool already assigned to L?

[0050]56 L and M are interchanged. Database updated.

[0051]57 M is removed from prior tool and put on new tool

[0052]60 toolbar

[0053]61 L identifier

[0054]62 M identifier

[0055]63 tools

[0056]64 space above toolbar

[0057]71 Tool controller

[0058]72 Tool palette

[0059]75 Button Panel

[0060]76 Drag label

[0061]77 Action tool

[0062]81 Computer

[0063]82 Database

[0064]83 Controller or mouse

[0065]84 Left mouse key

[0066]85 Middle mouse key

[0067]86 Right mouse key, or picker

[0068]87 Identifiers 

What is claimed is:
 1. A method for assigning tools in a toolbar of a software program to the left and middle mouse keys comprising the steps of, providing a toolbar (60) having a plurality of tools (63) on a display (87) to the user, assigning each of said plurality of tools (63) an identifier (87) that uniquely identifies the tool (63), providing a controller (83) having at least a plurality of keys (84, 85, 86), assigning each of said keys (84, 85, 86) to one of said plurality of tools (63) on the toolbar (60), and permitting the user to reassign the tool (63) associated with the plurality of keys (84, 85, 86).
 2. The method of claim 1 wherein each of said plurality of tools (63) is assigned a unique integer as an identifier (87).
 3. The method of claim 2 wherein the controller has three keys, a picker (86), a middle mouse key (85) and a left mouse key (84).
 4. The method of claim 3 wherein the toolbar (60) identifies the tool (63) associated with the left mouse button (84) with and ‘L’ (61) and the tool associated with the middle mouse button (85) with an ‘M’ (62).
 5. The method of claim 4 wherein the user is permitted to assign either no tools (63) with the mouse keys, one tool with either the middle mouse key (85) or the left mouse key (84) or a tool with the middle (85) mouse key and a tool with the left mouse key (84).
 6. The method of claim 5 wherein the user is permitted to reassign the tool (63) associated with a mouse key (84, 85, 86) by clicking on the indicator (61, 62) near the current tool and moving the indicator (61, 62) into a position near the desired tool (63).
 7. A method for providing two different functionalities with two different mouse buttons (84, 85) comprising the steps of providing a computer (81) having a database (82), launching an application (11), opening a toolbar in the application, providing a toolbar (60) with a plurality of tools (63), providing an identifier (87) that uniquely identifies each tool (63) in the toolbar (60) and storing the identifier (87) in the database (82), providing a unique symbol for the left and middle mouse buttons (84, 85) and storing the identifiers (61, 62) in the database (82), assigning the left mouse button (84) to one of the plurality of tools (63), assigning the middle mouse button (85) to one of the plurality of tools (63), permitting the user to assign the left mouse button (84), the middle mouse button (85), or both to a different tool (63) on the toolbar (60).
 8. The method of claim 7 wherein each of said plurality of tools (63) is assigned a unique integer (87) as an identifier.
 9. The method of claim 8 wherein the controller (83) has three keys, a picker (86), a middle mouse key (85) and a left mouse key (84).
 10. The method of claim 9 wherein the toolbar identifies the tool associated with the left mouse button (84) with and ‘L’ (61) and the tool associated with the middle mouse button (85) with an ‘M’ (62).
 11. The method of claim 10 wherein the user is permitted to assign either no tools with the mouse keys (84, 85, 86), one tool (63) with either the middle mouse key (85) or the left mouse key (84) or a tool (63) with the middle mouse key (85) and a tool with the left mouse key (84).
 12. The method of claim 11 wherein the user is permitted to reassign the tool (63) associated with a mouse (84, 85) key by clicking on the indicator (61, 62) near the current tool and moving the indicator into a position near the desired tool.
 13. A method for providing two different functionalities with two different mouse buttons comprising the steps of providing a computer (81) having a database (82), providing a toolbar (60) with a plurality of tools (63), providing an identifier (87) that uniquely identifies each tool (63) in the toolbar (60) and storing the identifier (87) in the database (82), providing a unique identifier (61) for the left mouse button (84) and a unique identifier (62) for the middle mouse buttons and storing the identifiers (61, 62) in the database (82), displaying the identifier L (61) near the tool (63) associated with the L identifier, and displaying the identifier M (62) near the tool associated with the M identifier.
 14. The method of claim 13 wherein the user is permitted to assign either no tools with the mouse keys (84, 85), one tool with either the middle mouse key 85 or the left mouse key (84) or a tool (63) with the middle mouse key (85) and a tool with the left mouse key (84).
 15. The method of claim 14 wherein the user is permitted to reassign the tool associated with a mouse key (84, 85) by clicking on the indicator near the current tool and moving the indicator into a position near the desired tool.
 16. The method of claim 14 wherein the user can operate the tool associated with the left mouse key (84) or the middle mouse key (85) by depressing the key associated with the desired functionality and dragging the key over the view area.
 17. A method for providing two different functionalities with two different mouse buttons (84, 85) for use with a software program on a computer (81) having at least a display screen (87) and a mouse (83) comprising the steps of providing a toolbar (60) with a plurality of tools (63), providing an identifier (87) that uniquely identifies each tool (63) in the toolbar (60) and storing the identifier (87) in the database (82), providing a unique identifier (87) for the left mouse button (61) and the middle mouse (62) buttons and storing the identifiers (87) in the database (82), displaying the identifier L (61) near the tool (63) associated with the L identifier, displaying the identifier M (62) near the tool associated with the M identifier, and wherein the user is permitted to assign a new functionality to a particular mouse key (84, 85) by dragging the L (61) or M (62) identifier to a new location on the toolbar (63).
 18. The method of claim 14 wherein the user can operate the tool associated with the left mouse key (84) or the middle mouse key (85) by depressing the key associated with the desired functionality and dragging the key over the view area.
 19. The method of claim 22 where the user is permitted to assign tools associated with different toolbars to either the left (84) or mouse key (85) without regard to whether they are on the same toolbar (60).
 20. A method for displaying a toolbar (60) comprising the steps of, providing a toolbar (60) having a plurality of tools (63), each tool having a particular symbol associated with said tool (63), providing a database (82), providing an identifier (87) that uniquely identifies each tool (63) in the toolbar (60) and storing the identifier (87) in the database (82), providing a space (64) on the toolbar (60), providing an identifier (61) for the left mouse key (84) in the space (64) on the toolbar (60), and providing an identifier for the middle mouse key (85) in the space (64) on the toolbar (60).
 21. The method of claim 20 wherein the toolbar identifies the tool (63) associated with the left mouse button (84) with an L (61) and the tool (63) associated with the middle mouse button (85) with an M (62).
 22. The method of claim 21 wherein the toolbar identifies the tool associated with the right mouse button (85) with an R.
 23. The method of claim 22 wherein the user is permitted to assign either no tools (63) with the mouse keys, one tool (63) with either the left mouse key (84) or the middle mouse key (85) a tool with the middle mouse key (85) and a different tool (63) with the left mouse key (84).
 24. The method of claim 23 where the user is permitted to assign tools (63) associated with different toolbars to either the left mouse key (84) or middle mouse key (85) without regard to whether they are on the same toolbar (63).
 25. The method of claim 25 wherein the user is permitted to reassign the tool (63) associated with a mouse key (84, 85, 86) by clicking on the indicator (61, 62) near the current tool and moving the indicator (61, 62) into a position near the desired tool. 